perm filename SEE.MUS[T,LCS] blob
sn#030729 filedate 1973-03-17 generic text, type T, neo UTF8
COMMENT ⊗ VALID 00003 PAGES
RECORD PAGE DESCRIPTION
00001 00001 VALID 00003 PAGES
00002 00002 SEE
00004 00003 VARIABLE SCALE_3D
00006 ENDMK
⊗;
COMMENT SEE;
ARRAY F4,F5,F6,F7(512),DPYBUF(600);
FUNCTION SEE(ARRAY F);
BEGIN VARIABLE X,OLDY,YCON;
EXTERNAL FUNCTION TYPLOC(INTEGER A,INTEGER B),DPYSET(INTEGER POG,ARRAY DPYBUF,INTEGER SIZE),
DPYBRT(INTEGER X),AIVECT(INTEGER X,INTEGER Y),RVECT(INTEGER X,INTEGER Y),
DPYOUT(INTEGER POG),DPYCLR,RDNUM(X),
DPYTXT(STRING S,INTEGER COUNT);
TYPLOC(-300,-512);
DPYSET(1,DPYBUF,520);
DPYBRT(1);
AIVECT(-256,-256);
RVECT(0,512);
AIVECT(256,0);
RVECT(-512,0);
AIVECT(-320,-11+258,); DPYTXT("+1.0",1);
AIVECT(-320,-11+128,); DPYTXT("+0.5",1);
AIVECT(-320,-11+0,); DPYTXT(" 0.0",1);
AIVECT(-320,-11-128,); DPYTXT("-0.5",1);
AIVECT(-320,-11-256,); DPYTXT("-1.0",1);
AIVECT(-128-20,-21,); DPYTXT("128 ",1);
AIVECT(0-20,-21,); DPYTXT("256 ",1);
AIVECT(128-20,-21,); DPYTXT("384 ",1);
AIVECT(256-20,-21,); DPYTXT("512 ",1);
DPYBRT(3);
AIVECT(-256,OLDY←INT(256*F(0)));
FOR X←1 STEP 1 UNTIL 511 DO BEGIN;
RVECT(1,256*F(X)-OLDY);
OLDY←INT(256*F(X));
END;
DPYOUT(1);
PRINT "
TYPE 0 TO CLEAR AND 1 JUST TO RETURN:";
RDNUM(X);
IF X=0 THEN DPYCLR;
END;
VARIABLE SCALE_3D;
SCALE_3D←256/2;
FUNCTION XVAL(I)=(F4(I)-F5(I)-F6(I)+F7(I))*SQRT(1/F1(I))/SQRT(2);
FUNCTION YVAL(I)=(F4(I)+F5(I)-F6(I)-F7(I))*SQRT(1/F1(I))/SQRT(2);
FUNCTION RECONSTRUCT_SPACE4;
BEGIN VARIABLE T,OLDX,OLDY,YCON;
EXTERNAL FUNCTION TYPLOC(INTEGER A,INTEGER B),DPYSET(INTEGER POG,ARRAY DPYBUF,INTEGER SIZE),
DPYBRT(INTEGER X),AIVECT(INTEGER X,INTEGER Y),
RVECT(INTEGER X,INTEGER Y),
AVECT(INTEGER X,INTEGER Y),
DPYOUT(INTEGER POG),DPYCLR,RDNUM(X);
TYPLOC(-300,-512);
DPYSET(1,DPYBUF,520);
DPYBRT(1);
AIVECT(0,-256);
RVECT(0,512);
AIVECT(256,0);
RVECT(-512,0);
DPYBRT(3);
AIVECT(OLDX←INT(XVAL(0)*SCALE_3D),OLDY←INT(YVAL(0)*SCALE_3D));
FOR T←1 STEP 1 UNTIL 511 DO BEGIN;
< RVECT(XVAL(T)*SCALE_3D-OLDX,YVAL(T)*SCALE_3D-OLDY);
AVECT(XVAL(T)*SCALE_3D,YVAL(T)*SCALE_3D);
< OLDX←INT(XVAL(T)*SCALE_3D);
< OLDY←INT(YVAL(T)*SCALE_3D);
END;
DPYOUT(1);
PRINT "
TYPE 0 TO CLEAR AND 1 JUST TO RETURN:";
RDNUM(T);
IF T=0 THEN DPYCLR;
END;